package com.zatech.share.service;

import com.zatech.framework.model.PageCondition;
import com.zatech.framework.model.Pagination;
import com.zatech.framework.model.ResponseData;
import com.zatech.share.dto.request.*;
import com.zatech.share.dto.response.*;
import org.springframework.web.bind.annotation.RequestMapping;

import java.util.List;

/**
 * Created by za-huangzaizheng on 2018/8/14.
 */
public interface IChannelGoodsShareService {

    /**
     * 签约商品页面的查询条件（种类+保险公司）
     */
    @RequestMapping("/channelGoods/queryAgreementGoodsSearchCondition")
    ResponseData<AgreementGoodsConditionParamResponseDTO> queryAgreementGoodsSearchCondition(AgreementGoodsConditionParamRequestDTO agreementGoodsCategoryRequest);

    /**
     * 获取渠道列表的查询条件
     */
    @RequestMapping("/channelGoods/queryChannelGoodsSearchCondition")
    ResponseData<AgreementGoodsConditionParamResponseDTO> queryChannelGoodsSearchCondition(AgreementGoodsConditionParamRequestDTO agreementGoodsCategoryRequest);

    /**
     * 查询产品对应的计划
     */
    @RequestMapping("/channelGoods/queryProductPlan")
    ResponseData<List<ProductPlanResponseDTO>> queryProductPlan(QueryProductPlanRequestDTO queryProductPlanRequest);

    /**
     * 添加渠道商品
     */
    @RequestMapping("/channelGoods/addChannelGoods")
    ResponseData<ChannelGoodsResponseDTO> addChannelGoods(AddChannelGoodsRequestDTO addChannelGoodsRequest);

    /**
     * 查询渠道商品
     */
    @RequestMapping("/channelGoods/queryChannelGoods")
    ResponseData<ChannelGoodsResponseDTO> queryChannelGoods(QueryChannelGoodsRequestDTO queryChannelGoodsRequestDTO);


    /**
     * 查询渠道商品列表
     */
    @RequestMapping("/channelGoods/queryChannelGoodsPage")
    ResponseData<Pagination<ChannelGoodsPageResponseDTO>> queryChannelGoodsPage(PageCondition<QueryChannelGoodsPageRequestDTO> request);


    /**
     * 修改渠道商品的状态
     */
    @RequestMapping("/channelGoods/updateChannelGoods")
    ResponseData<Void> updateChannelGoods(UpdateChannelGoodsRequestDTO request);

    /**
     * 查询渠道商品的计划、责任、保额的对应性关系
     */
    @RequestMapping("/channelGoods/queryChannelGoodsPlanTablesData")
    ResponseData<ChannelGoodsPlanTablesDataResponseDTO> queryChannelGoodsPlanTablesData(ChannelGoodsPlanTablesDataRequestDTO request);

    /**
     * 查询初始化的问题和答案
     * @return
     */
    @RequestMapping("/channelGoods/queryInitFaq")
    ResponseData<List<ChannelGoodsInitFaqResponseDTO>> queryInitFaq();

    /**
     * 查询签约商品列表（分页）
     */
    @RequestMapping("/channelGoods/queryAgreementGoodsPageForChannel")
    ResponseData<Pagination<AgreementGoodsResponseDTO>> queryAgreementGoodsPageForChannel(PageCondition<QueryAgreementRequestDTO> queryAgreementRequest);
	
	
	/**
     * 查询签约商品列表（分页）
     */
    @RequestMapping("/channelGoods/queryAgreementGoodsPageForChannel")
    ResponseData<Pagination<AgreementGoodsResponseDTO>> queryAgreementGoodsPageForChannel222(PageCondition<QueryAgreementRequestDTO> queryAgreementRequest);

}
